package com.yrk.service.impl;

import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import com.yrk.dao.IUserDao;
import com.yrk.entity.User;
import com.yrk.service.IUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;
import java.util.Map;

@Service("userService")
public class IUserServiceImpl implements IUserService {
    @Autowired
    private IUserDao iUserDao;
    @Override
    public List<User> getAll() {
        return iUserDao.getAll();
    }

    @Override
    public List<User> getLikeUser(Map<String, Object> user) {
        return iUserDao.getLikeUser(user);
    }

    @Override
    public Integer getLikeUsersCount(Map<String, Object> user) {
        return 0;
    }

    @Override
    public Page queryLikeUsers(Map<String, Object> cond) {
//        Page page = new Page();
//        //根据条件查询符合条件的记录总数，赋值给page的totalNum变量
//        page.setTotal(iUserDao.getLikeUsersCount(cond));
//        //从请求参数中获得每页的大小
        int pageSize=Integer.parseInt(String.valueOf(cond.get("pageSize")));
//        page.setPageSize(pageSize);
//        //从请求参数中获得当前页码
        int pageNum=Integer.parseInt(String.valueOf(cond.get("pageNum")));
//        page.setPageNum(pageNum);
//        //计算总页数
//        page.setPageNum((int)(page.getTotal()/page.getPageSize()+(page.getTotal()%pageSize==0?0:1)));
//        //根据条件查询符合的用户列表，赋值给page的result变量
       PageHelper.startPage(pageNum,pageSize);
        Page page = (Page) iUserDao.getLikeUser(cond);
        System.out.println(page);
        page.forEach((pag)->{
            System.out.println(pag);
        });
        return page;
    }

    @Override
    public int addUser(User user) {
        return iUserDao.addUser(user);
    }

    @Override
    public int daleteUser(int id) {
        return iUserDao.daleteUser(id);
    }

    @Override
    public User getUserById(int id) {
        return iUserDao.getUserById(id);
    }

    @Override
    public int updateUser(User user) {
        return iUserDao.updateUser(user);
    }
}
